package com.cskaoyan.javase.string.api3.judge1;

/**
 * @description: String类的判断功能
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * //用来比较字符串的内容，注意区分大小写
 * boolean equals(Object obj)
 *
 * //忽略字符串大小写比较字符串内容，常见用于比较网址URL
 * boolean equalsIgnoreCase(String str)
 *
 * //判断当前字符串对象是否包含，目标字符串的字符序列，常见用于确定是否有盗链行为
 * 判断这个链接时从哪里跳过来的 如果时腾讯网 那必然时qq什么的跳过来的
 * boolean contains(String str)
 *
 * //判断当前字符串对象，是否已目标字符串的字符序列开头
 * boolean startsWith(String str)
 *
 * //判断当前字符串，是否以目标字符串对象的字符序列结尾，常用于确定文件后缀名格式
 * boolean endsWith(String str)
 *
 * //判断一个字符串，是不是空字符串
 * boolean isEmpty()
 *
 */
public class Demo {
    public static void main(String[] args) {
        //1 true 2 false
        //用来比较字符串的内容，注意区分大小写
       //boolean equals(Object obj)
        String s = new String("hello");
        String s2 = "hello";
        System.out.println(s == s2);
        System.out.println(s.equals(s2));

        //忽略字符串大小写比较字符串内容，常见用于比较网址URL
        //boolean equalsIgnoreCase(String str)
        String s3 = "heLLO";
        System.out.println(s3.equals(s2)); //false
        System.out.println(s3.equalsIgnoreCase(s2)); //true

        //3,contains方法 包含，判断一个字符串是否包含另一个字符串
        String s4 = "h";
        System.out.println(s2.contains(s4)); //true
        System.out.println(s4.contains("w"));//false

        //4,boolean startsWith(String str)
        //判断一个字符串是否是另一个字符串的开头
        System.out.println(s2.startsWith(s4)); //true
        System.out.println(s2.startsWith("t")); //false

        //5，boolean endsWith(String str)
        //判断一个字符串以XX结尾
        System.out.println(s2.endsWith("o")); //true
        System.out.println(s2.endsWith("t")); //false
        //这个方法很常用，可以用来判断文件名的后缀
        //从而判断这是一个啥文件
        //Demo.java .txt .mp3 avi比mp4更少占空间
        //比如说我写的这个判断谁没交作业

        //6,isEmpty()
        System.out.println(s2.isEmpty()); //false
        System.out.println("".isEmpty()); //true

    }
}
